package com.fs.iot.service;

import com.fs.common.base.service.BaseService;
import com.fs.iot.bean.dto.DeviceDTO;
import com.fs.iot.bean.query.DeviceQuery;

import java.util.List;
import java.util.Optional;

/**
 * 设备服务接口 
 * @author Coder Generator 2025-03-22 15:29:30 
 **/
public interface DeviceEntityService extends BaseService<DeviceDTO, DeviceQuery> {
    /**
     * 补充网关、分类及模型相关名称等信息
     */
    void appendOtherInfo(List<DeviceDTO> list);

    /**
     * 通过设备编号查询设备
     * @param code 设备编号
     * @return 设备信息
     */
    Optional<DeviceDTO> findByCode(String code);

    /**
     * 自动更新设备离线状态
     */
    void updateStatusAuto();

    /**
     * 设备下线
     */
    void offline(String id);

    /**
     * 设备发布
     */
    void publish(String id);
}